package com.ruoyi.comparison.service;

import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.comparison.domain.Domains;
import com.ruoyi.comparison.domain.TaskSubjectList;
import com.ruoyi.comparison.domain.bo.TaskSubjectListBo;
import com.ruoyi.comparison.domain.vo.TaskSubjectListVo;

import java.util.Collection;
import java.util.List;

/**
 * 同一条关联关系上的节点信息Service接口
 *
 * @author ruoyi
 * @date 2023-11-18
 */
public interface ITaskSubjectListService {

    /**
     * 查询同一条关联关系上的节点信息
     */
    TaskSubjectListVo queryById(Long id);

    /**
     * 查询同一条关联关系上的节点信息列表
     */
    TableDataInfo<TaskSubjectListVo> queryPageList(TaskSubjectListBo bo, PageQuery pageQuery);

    /**
     * 查询同一条关联关系上的节点信息列表
     */
    List<TaskSubjectListVo> queryList(TaskSubjectListBo bo);

    /**
     * 新增同一条关联关系上的节点信息
     */
    Boolean insertByBo(TaskSubjectListBo bo);

    /**
     * 修改同一条关联关系上的节点信息
     */
    Boolean updateByBo(TaskSubjectListBo bo);

    /**
     * 校验并批量删除同一条关联关系上的节点信息信息
     */
    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);

    void insert(List<TaskSubjectList> list);

    TableDataInfo<TaskSubjectListVo> queryPageList1(TaskSubjectListBo bo, PageQuery pageQuery);

    List<TaskSubjectListVo> findAllKey();

    List<TaskSubjectListVo> findKey(List<Domains> domains);

    TaskSubjectList findOne(String nodeId);
}
